$(function () {//加载表格
    $('#dg').datagrid({
        loadMsg: '数据加载中，请稍后...',
        url: kettle + '/jobParam/listInfo',
        pagination: true,
        singleSelect: false,//如果为true，则只允许选择一行。
        title: "参数信息列表",
        pageSize: pageSize,
        pageList: pageList,
        checkOnSelect: true,//当用户点击行的时候该复选框就会被选中或取消选中。
        striped: true,//是否显示斑马线效果。
        rownumbers: true,// 显示一个行号列
        fitColumns: false,//真正的自动展开/收缩列的大小，以适应网格的宽度，防止水平滚动。
        columns: [[
            {field: 'itemid', title: 'Order ID', width: 80, checkbox: true},
            {field: 'keyName', title: '英文名称'},
            {field: 'chineseName', title: '中文名称'},
            {
                field: 'ftype', title: '参数类型', formatter: function (value, row, index) {
                    if (1 == value) {
                        return "无";
                    }
                    if (2 == value) {
                        return "字典";
                    }
                    if (3 == value) {
                        return "SQL";
                    }
                }
            },
            {
                field: 'datatype', title: '数据类型', formatter: function (value, row, index) {
                    if (1 == value) {
                        return "字符串";
                    }
                    if (2 == value) {
                        return "整数";
                    }
                    if (3 == value) {
                        return "布尔";
                    }
                    if (4 == value) {
                        return "年月日";
                    }
                    if (5 == value) {
                        return "日期";
                    }
                }
            },
            {
                field: 'required', title: '是否必填', formatter: function (value, row, index) {
                    if (1 == value) {
                        return "是";
                    } else {
                        return "否";
                    }
                }
            },
            {field: 'defaultValue', title: '默认值'},
            {
                field: 'status', title: '状态', formatter: function (value, row, index) {
                    if (1 == value) {
                        return "<a href='javascript:void(0)' onclick='updateJobParam(&apos;" + row['id'] + "&apos;,&apos;" + 2 + "&apos;)'>启用</a>";
                    } else {
                        return "<a href='javascript:void(0)' onclick='updateJobParam(&apos;" + row['id'] + "&apos;,&apos;" + 1 + "&apos;)'>禁用</a>";
                    }
                }
            }
        ]],
        loadFilter: function (data) { //加载后台数据
            if (successcode != data.code) {
                return errorHandle(data);
            }
            return data.data;
        },
        //双击事件
        onDblClickRow: function (rowIndex, rowData) {
            view(rowData)
        }
    }).datagrid("columnMoving");;
    initData();
})

/**
 * 修改状态信息
 * @param taskId
 * @param status
 */
function updateJobParam(taskId, status) {
    $.ajax({
            type: "post",
            url: kettle + "/jobParam/editJobParam",
            dataType: "json",
            data: {
                id: taskId,
                status: status
            },
            success: function (data) {
                if (successcode != data.code) {
                    return errorHandle(data);
                }
                if (1 == status) {
                    $.messager.show({title: '系统提示', msg: "启用参数信息成功"});
                } else {
                    $.messager.show({title: '系统提示', msg: "禁用参数信息成功"});
                }
                $("#dg").datagrid("load");
            }, error: function (data) {
                $.messager.progress('close');
                $.messager.alert('系统提示', "系统异常，请稍后重试！", 'error');
            }
        }
    );


}


function initData() {
    $.ajax({
            type: "post",
            url: kettle + "/jobParam/init",
            dataType: "json",
            success: function (data) {
                if (successcode != data.code) {
                    return errorHandle(data);
                }

            }, error: function (data) {
                $.messager.progress('close');
                $.messager.alert('系统提示', "系统异常，请稍后重试！", 'error');
            }
        }
    );
}


//搜索的方法
function doSearch() {
    var queryParams = $("#dg").datagrid("options").queryParams;
    queryParams["keyName"] = $("#selKeyName").val();
    queryParams["chineseName"] = $("#selChineseName").val();
    $("#dg").datagrid("options").queryParams = queryParams;
    $("#dg").datagrid("load");
}


/**
 *  查看参数信息方法
 */
function view(rowData) {
    $('#myform').form('disableValidation');//清除验证样式
    $('#dlg').dialog({
        title: "参数信息信息",
        buttons: [{
            text: '返回',
            iconCls: 'icon-back',
            handler: function () {
                $('#dlg').dialog('close');
            }
        }
        ]
    }).dialog('open');
    $('#myform').form('load', rowData);//页面赋值
}

/**
 * 新增参数信息信息方法
 */
function addJobParam() {
    $("#myform").form('clear');//添加之前清空表达信息
    $('#myform').form('enableValidation');//设置验证样式
    $('#dlg').dialog({
        title: "新增参数信息信息",
        buttons: [
            {
                text: '保存',
                iconCls: 'icon-save',
                handler: function () {
                    saveItemJobParam(1);
                }
            }, {
                text: '返回',
                iconCls: 'icon-back',
                handler: function () {
                    $('#dlg').dialog('close');
                }
            }
        ]
    }).dialog('open');
    $('#ftype').combobox('selectedIndex', 0); //选中第一个
    $('#datatype').combobox('selectedIndex', 0); //选中第一个
    $('#required').combobox('selectedIndex', 0); //选中第一个
    $('#status').combobox('selectedIndex', 0); //选中第一个

}


/**
 * 修改参数信息方法
 */
function editJobParam() {
    $('#myform').form('enableValidation');//设置验证样式
    var arr = $('#dg').datagrid('getSelections');
    if (null == arr || arr.length != 1) {
        $.messager.alert('系统提示', "请选择一行数据！", 'warning');
        return;
    }
    $('#dlg').dialog({
        title: "修改参数信息信息",
        buttons: [{
            text: '保存',
            iconCls: 'icon-save',
            handler: function () {
                saveItemJobParam(2);
            }
        }, {
            text: '返回',
            iconCls: 'icon-back',
            handler: function () {
                $('#dlg').dialog('close');
            }
        }
        ]
    }).dialog('open');
    $('#myform').form('load', arr[0]);//页面赋值
}


/**
 * 保存参数信息信息的方法
 */
function saveItemJobParam(ftype) {
    //验证表单信息
    if (!$("#myform").form('validate')) { //验证表单信息
        return;
    }
    var url = kettle + "/jobParam/editJobParam";
    if (1 == ftype) {
        url = kettle + "/jobParam/addJobParam";
    }
    $.messager.confirm('系统提示', "确定保存参数信息信息吗？", function (parm) {
        if (!parm) {
            return;
        }
        $('#myform').form('submit', {
            url: url,
            onSubmit: function () {
                $.messager.progress({text: '正在处理中...',});
            }, success: function (data) {
                $.messager.progress('close');
                try {
                    data = JSON.parse(data);
                    if (successcode != data.code) {
                        return errorHandle(data);
                    }
                    //关闭弹出窗口
                    $('#dlg').dialog('close');
                    $.messager.show({title: '系统提示', msg: data.message});
                    $("#dg").datagrid("load");//刷新表格
                } catch (e) {
                    $.messager.progress('close');
                    $.messager.alert('系统提示', "系统异常，请稍后重试！", 'error');
                }
            }
        });
    });
}

/**
 * 删除参数信息信息方法
 */
function delJobParam() {
    var arr = $('#dg').datagrid('getSelections');
    if (null == arr || arr.length == 0) {
        $.messager.alert('系统提示', "请选择你要删除的数据！", 'warning');
        return;
    }
    $.messager.confirm('系统提示', '确定要删除这' + arr.length + '条参数信息信息吗？作业下的所有明细任务都会删除', function (param) {
        if (!param) {
            return;
        }
        var ids = [];
        for (var i = 0; i < arr.length; i++) {
            ids.push(arr[i].id);
        }
        $.messager.progress({text: '正在处理中...',});
        $.ajax({
                type: "post",
                url: kettle + "/jobParam/delJobParam",
                dataType: "json",
                data: {
                    ids: JSON.stringify(ids)
                },
                success: function (data) {
                    $.messager.progress('close');
                    if (successcode != data.code) {
                        return errorHandle(data);
                    }
                    $("#dg").datagrid("load");//刷新表格
                    $.messager.show({title: '系统提示', msg: data.message});
                }, error: function (data) {
                    $.messager.progress('close');
                    $.messager.alert('系统提示', "系统异常，请稍后重试！", 'error');
                }
            }
        );
    });
}

/**
 * 导出文件
 */
function exportTemplateXml() {
    $('#subFile').form('submit', {
        url: kettle + "/jobExecute/exportTemplateXml",
        onSubmit: function (param) {
            //$.messager.progress({text: '正在处理中...',});
        }, success: function (data) {
            data = JSON.parse(data);
            if (successcode != data.code) {
                return errorHandle(data);
            }
           // $.messager.progress('close');
            $.messager.show({title: '系统提示', msg: data.message});
        }, error: function (data) {
           // $.messager.progress('close');
            $.messager.alert('系统提示', "系统异常，请稍后重试！", 'error');
        }
    });
}

/**
 * 导入文件
 */
function importTemplateXml(fileName) {
    //文件后缀格式
    /*  if (!/\.(xls|xlsx|XLS|XLSX)$/.test(fileName)) {
          $.messager.alert('系统提示', '错误的文件类型，请下载对应的模板', 'error');
          return;
      }*/
    $('#subFile').form('submit', {
        url: kettle + "/jobExecute/importTemplateXml",
        onSubmit: function (param) {
            $.messager.progress({text: '正在处理中...'});
        }, success: function (data) {
            $.messager.progress('close');
            data = JSON.parse(data);
            $("#readFile").val("");
            if (successcode != data.code) {
                return errorHandle(data);
            }
            $.messager.show({title: '系统提示', msg: data.message});
        }, error: function (data) {
            $("#readFile").val("");
            $.messager.progress('close');
            $.messager.alert('系统提示', "系统异常，请稍后重试！", 'error');
        }
    });

}
